//
// ���ļ����� JavaTM Architecture for XML Binding (JAXB) ����ʵ�� v2.2.8-b130911.1802 ���ɵ�
// ����� <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// �����±���Դģʽʱ, �Դ��ļ��������޸Ķ�����ʧ��
// ����ʱ��: 2018.04.04 ʱ�� 06:00:02 PM CST 
//


package com.youhome.entity;

import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * 
 * 				The main type information for the phone type uses a
 * 				restriction applied to the string datatype to limit the
 * 				valid characters to the set of number representation
 * 				characters '0'-'9'.
 * 
 * 				This restriction results in the suppression of additional
 * 				characters often seen in representations of telephone
 * 				numbers.
 * 
 * 				Characters like '.', '(' ')' and others are used as
 * 				separators between the elements for human recognition.
 * 				Characters like '-', ' '(space) and '+' have a more
 * 				general use and may appear in certain standards bodies
 * 				references. However, in all cases, there is no important
 * 				information imparted in these characters and their use is
 * 				determined by local convention.
 * 
 * 				The whitespace and '+' suppression, along with
 * 				restricting the use of other characters are part of a
 * 				simplification choice made for several reasons:
 * 					1. The restriction to enforce the use of characters
 * 					other than numbers is more difficult to understand
 * 					and may not be properly supported in all tools.
 * 					2. Representations of the complete number are
 * 					locale specific. A telephone number is presented
 * 					differently based on culture.
 * 					3. Resolution between the stringnumeric and legacy
 * 					systems should be simplified. For string
 * 					representations, it is conversion by restriction. An
 * 					unparsed phone in a legacy system may have the form
 * 					+1 (888) 555-1212. This and other permutations should
 * 					be easily converted to the form presented here
 * 						
 * <pre>
 * &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;country-code xmlns:commons="http://rets.org/xsd/RETSCommons" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;1&lt;/country-code&gt;
 * </pre>
 * 
 * 						
 * <pre>
 * &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;area-code xmlns:commons="http://rets.org/xsd/RETSCommons" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;888&lt;/area-code&gt;
 * </pre>
 * 
 * 						
 * <pre>
 * &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;local-number xmlns:commons="http://rets.org/xsd/RETSCommons" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;5551212&lt;/local-number&gt;
 * </pre>
 * 
 * 			
 * 
 * <p>Phone complex type�� Java �ࡣ
 * 
 * <p>����ģʽƬ��ָ�������ڴ����е�Ԥ�����ݡ�
 * 
 * <pre>
 * &lt;complexType name="Phone">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="preference-order" type="{http://rets.org/xsd/RETSCommons}preferenceOrderType"/>
 *         &lt;element name="phone-preference-order" type="{http://rets.org/xsd/RETSCommons}preferenceOrderType"/>
 *         &lt;element name="prefix" type="{http://rets.org/xsd/RETSCommons}affix"/>
 *         &lt;element name="country-code" type="{http://rets.org/xsd/RETSCommons}stringnumeric"/>
 *         &lt;element name="area-code" type="{http://rets.org/xsd/RETSCommons}stringnumeric"/>
 *         &lt;element name="local-number" type="{http://rets.org/xsd/RETSCommons}stringnumeric"/>
 *         &lt;element name="extension" type="{http://rets.org/xsd/RETSCommons}stringnumeric"/>
 *         &lt;element name="suffix" type="{http://rets.org/xsd/RETSCommons}affix"/>
 *         &lt;element name="phone-type" type="{http://rets.org/xsd/RETSCommons}PhoneTypeEnum"/>
 *         &lt;element name="category" type="{http://rets.org/xsd/RETSCommons}PhoneCategoryEnum"/>
 *         &lt;element name="description" type="{http://rets.org/xsd/RETSCommons}desc"/>
 *       &lt;/sequence>
 *       &lt;attribute ref="{http://rets.org/xsd/RETSCommons}privacyType"/>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Phone", propOrder = {
    "preferenceOrder",
    "phonePreferenceOrder",
    "prefix",
    "countryCode",
    "areaCode",
    "localNumber",
    "extension",
    "suffix",
    "phoneType",
    "category",
    "description"
})
@XmlSeeAlso({
    SecurePhone.class
})
public class Phone {

    @XmlElement(name = "preference-order")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected int preferenceOrder;
    @XmlElement(name = "phone-preference-order")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected int phonePreferenceOrder;
    @XmlElement(required = true)
    protected String prefix;
    @XmlElement(name = "country-code", required = true)
    protected String countryCode;
    @XmlElement(name = "area-code", required = true)
    protected String areaCode;
    @XmlElement(name = "local-number", required = true)
    protected String localNumber;
    @XmlElement(required = true)
    protected String extension;
    @XmlElement(required = true)
    protected String suffix;
    @XmlElement(name = "phone-type", required = true)
    protected PhoneTypeEnum phoneType;
    @XmlElement(required = true)
    protected PhoneCategoryEnum category;
    @XmlElement(required = true)
    protected String description;
    @XmlAttribute(name = "privacyType", namespace = "http://rets.org/xsd/RETSCommons")
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String privacyType;

    /**
     * ��ȡpreferenceOrder���Ե�ֵ��
     * 
     */
    public int getPreferenceOrder() {
        return preferenceOrder;
    }

    /**
     * ����preferenceOrder���Ե�ֵ��
     * 
     */
    public void setPreferenceOrder(int value) {
        this.preferenceOrder = value;
    }

    /**
     * ��ȡphonePreferenceOrder���Ե�ֵ��
     * 
     */
    public int getPhonePreferenceOrder() {
        return phonePreferenceOrder;
    }

    /**
     * ����phonePreferenceOrder���Ե�ֵ��
     * 
     */
    public void setPhonePreferenceOrder(int value) {
        this.phonePreferenceOrder = value;
    }

    /**
     * ��ȡprefix���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPrefix() {
        return prefix;
    }

    /**
     * ����prefix���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPrefix(String value) {
        this.prefix = value;
    }

    /**
     * ��ȡcountryCode���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCountryCode() {
        return countryCode;
    }

    /**
     * ����countryCode���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCountryCode(String value) {
        this.countryCode = value;
    }

    /**
     * ��ȡareaCode���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAreaCode() {
        return areaCode;
    }

    /**
     * ����areaCode���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAreaCode(String value) {
        this.areaCode = value;
    }

    /**
     * ��ȡlocalNumber���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLocalNumber() {
        return localNumber;
    }

    /**
     * ����localNumber���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLocalNumber(String value) {
        this.localNumber = value;
    }

    /**
     * ��ȡextension���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getExtension() {
        return extension;
    }

    /**
     * ����extension���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setExtension(String value) {
        this.extension = value;
    }

    /**
     * ��ȡsuffix���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSuffix() {
        return suffix;
    }

    /**
     * ����suffix���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSuffix(String value) {
        this.suffix = value;
    }

    /**
     * ��ȡphoneType���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link PhoneTypeEnum }
     *     
     */
    public PhoneTypeEnum getPhoneType() {
        return phoneType;
    }

    /**
     * ����phoneType���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link PhoneTypeEnum }
     *     
     */
    public void setPhoneType(PhoneTypeEnum value) {
        this.phoneType = value;
    }

    /**
     * ��ȡcategory���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link PhoneCategoryEnum }
     *     
     */
    public PhoneCategoryEnum getCategory() {
        return category;
    }

    /**
     * ����category���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link PhoneCategoryEnum }
     *     
     */
    public void setCategory(PhoneCategoryEnum value) {
        this.category = value;
    }

    /**
     * ��ȡdescription���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDescription() {
        return description;
    }

    /**
     * ����description���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDescription(String value) {
        this.description = value;
    }

    /**
     * 
     * 					Provide a level of privacy for this phone number. 
     * 				
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPrivacyType() {
        return privacyType;
    }

    /**
     * ����privacyType���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPrivacyType(String value) {
        this.privacyType = value;
    }

}
